package com.sgs.carbon.web.modules.common.dal.dataobject.logger;

import com.baomidou.mybatisplus.annotation.TableName;
import com.sgs.carbon.starter.mybatis.core.dataobject.BaseDO;
import com.sgs.carbon.web.modules.common.enums.logger.SysLoginLogTypeEnum;
import com.sgs.carbon.web.modules.common.enums.logger.SysLoginResultEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 登陆日志表: 包含登陆和登出两种行为
 *
 * @author Dave Liu
 * @since 2021-10-06
 */
@Data
@TableName("sys_login_log")
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class SysLoginLogDO extends BaseDO {

    /**
     * 日志主键
     */
    private Long id;

    /**
     * 日志类型, {@link SysLoginLogTypeEnum}
     */
    private Integer logType;

    /**
     * 用户账号(冗余, 因为账号可以变更)
     */
    private String username;

    /**
     * 登陆结果, {@link SysLoginResultEnum}
     */
    private Integer result;

    /**
     * 用户 IP
     */
    private String userIp;

    /**
     * 浏览器 UA
     */
    private String userAgent;

}
